The present disclosure relates generally to computing infrastructure systems, and more particularly to managing and allocating resources based on resource policies in response to user requests.
In a distributed-computing environment such as a cloud computing environment is a model of service delivery for enabling convenient, on-demand network access to a shared pool of computing resources (e.g. networks, network bandwidth, servers, PODs, processing, memory, storage, applications, virtual machines, services, etc.) that can be rapidly provisioned and released with minimal management effort or interaction with a provider of the service. The provider may provide a variety of services via the distributed computing environment. These services may include one or more services provided under Software as a Service (SaaS) category, Platform as a Service (PaaS) category, Infrastructure as a Service (IaaS) category, or other categories of services including hybrid services.
A user (e.g., a customer or client), via an order or service subscription, may order one or more of the services provided by the distributed computing environment. The distributed computing environment then performs processing (e.g., provisioning, managing, and tracking) to provide the services requested within the user's subscription order. Typically, when the provider (e.g., a cloud service provider) receives an order or service subscription subscribing to the one or more services, the distributed computing environment provisions or allocates the computing resources for the one or more services to the requesting user. However, the requesting user does not have control over how the computing resources are provisioned. These challenges may present automation, performance, and usability issues, which cannot be readily addressed by existing distributed computing environments that provision or allocate computing resources.
In the case of IaaS services providers, requests may be received for computing resources (e.g., networks, servers, storage, applications, and services) from clients and returns corresponding computing resources to the requestor from a pool of computing resources. However, users do not have control over the location of the computing resources or how computing resources are grouped (e.g., based on geography or at the machine-level). These challenges may present security, performance, and isolation issues, which cannot be readily addressed by existing systems that provide resources.
Some IaaS providers may pre-create resources that are commonly used together and provision resources in groups whenever any one of those resources are requested and cleaned up (e.g., returned to the resource pool). However, these groups are statically defined and may not adapt to changing demand for resources and may lead to the provisioning and cleaning-up of resources that have not been used.